#############################################
# Carnal Realms Hajj
# Vanilla entry range 86000-86999 is retained.
#############################################

long_character_event = {
	id = 86000
	title = CR_HAJJ_86000_TITLE
	desc = CR_HAJJ_86000_DESC
	picture = GFX_cr_evt_pilgrimage_idle
	border = GFX_event_long_frame_religion
	is_triggered_only = yes

	trigger = {
		is_adult = yes
		religion_group = muslim
		has_character_flag = activated_hajj
		NOT = { has_character_flag = cr_hajj_active }
	}

	option = {
		name = CR_HAJJ_86000_A
		set_character_flag = preparing_hajj
		cr_hajj_begin_journey_effect = yes
		piety = 10
		ai_chance = {
			factor = 75
			modifier = { factor = 1.5 trait = brave }
			modifier = { factor = 1.5 trait = organizer }
		}
	}

	option = {
		name = CR_HAJJ_86000_B
		trigger = {
			ai = no
			wealth = 25
		}
		set_character_flag = preparing_hajj
		cr_hajj_begin_journey_effect = yes
		cr_hajj_spawn_ship_effect = yes
		wealth = -25
		piety = 10
		ai_chance = {
			factor = 25
			modifier = { factor = 2 location = { port = yes } }
			modifier = { factor = 0.5 trait = greedy }
		}
	}

	option = {
		name = CR_HAJJ_86000_C
		clr_character_flag = activated_hajj
		clr_character_flag = preparing_hajj
		ai_chance = { factor = 0 }
	}
}

# A player ruler enters a land province or sea zone while commanding the
# earmarked escort. Destination and homecoming checks always precede encounters.
character_event = {
	id = 86010
	hide_window = yes
	is_triggered_only = yes

	trigger = {
		has_character_flag = cr_hajj_active
		has_earmarked_regiments = cr_hajj_escort
		in_command = yes
		OR = {
			has_character_flag = cr_hajj_outbound
			has_character_flag = cr_hajj_returning
		}
	}

	immediate = {
		set_character_flag = cr_hajj_moved_this_month
		cr_hajj_suspend_neglect_effect = yes
		if = {
			limit = {
				has_character_flag = cr_hajj_outbound
				location = { province_id = 719 }
			}
			long_character_event = { id = 86100 }
		}
		else_if = {
			limit = {
				has_character_flag = cr_hajj_returning
				at_location = persistent_event_target:cr_hajj_home
			}
			long_character_event = { id = 86110 }
		}
		else_if = {
			limit = { is_at_sea = yes }
			set_character_flag = cr_hajj_dispatch_sea
			character_event = { id = 86012 }
		}
		else = {
			change_variable = { which = cr_hajj_province_counter value = 1 }
			if = {
				limit = {
					OR = {
						AND = { has_character_flag = cr_hajj_threshold_3 check_variable = { which = cr_hajj_province_counter value >= 3 } }
						AND = { has_character_flag = cr_hajj_threshold_4 check_variable = { which = cr_hajj_province_counter value >= 4 } }
					}
				}
				set_variable = { which = cr_hajj_province_counter value = 0 }
				cr_hajj_randomize_land_threshold_effect = yes
				set_character_flag = cr_hajj_dispatch_land
				character_event = { id = 86012 }
			}
		}
	}
}

# Hajj reuses the CR pilgrimage road and sea pools. Sea encounters deliberately
# fire for every entered sea zone; the land threshold remains three or four.
character_event = {
	id = 86012
	hide_window = yes
	is_triggered_only = yes
	trigger = { has_character_flag = cr_hajj_active }

	immediate = {
		if = {
			limit = { has_character_flag = cr_hajj_dispatch_sea }
			clr_character_flag = cr_hajj_dispatch_sea
			random_list = {
				1 = { long_character_event = { id = SoA.5060 } }
				1 = { long_character_event = { id = SoA.5061 } }
				1 = { long_character_event = { id = SoA.5062 } }
				1 = { long_character_event = { id = SoA.5063 } }
				1 = { long_character_event = { id = SoA.5064 } }
				1 = { long_character_event = { id = SoA.5065 } }
				1 = { long_character_event = { id = SoA.5066 } }
				1 = { long_character_event = { id = SoA.5067 } }
				1 = { long_character_event = { id = SoA.5068 } }
				1 = { long_character_event = { id = SoA.5069 } }
				1 = { long_character_event = { id = SoA.5070 } }
				1 = { long_character_event = { id = SoA.5071 } }
				1 = { long_character_event = { id = SoA.5072 } }
				1 = { long_character_event = { id = SoA.5073 } }
				1 = { long_character_event = { id = SoA.5074 } }
				1 = { long_character_event = { id = SoA.5075 } }
				1 = { long_character_event = { id = SoA.5076 } }
				1 = { long_character_event = { id = SoA.5077 } }
				1 = { long_character_event = { id = SoA.5078 } }
				1 = { long_character_event = { id = SoA.5079 } }
				1 = { long_character_event = { id = SoA.5080 } }
				1 = { long_character_event = { id = SoA.5081 } }
				1 = { long_character_event = { id = SoA.5082 } }
				1 = { long_character_event = { id = SoA.5083 } }
				1 = { long_character_event = { id = SoA.5084 } }
				1 = { long_character_event = { id = SoA.5085 } }
				1 = { long_character_event = { id = SoA.5086 } }
				1 = { long_character_event = { id = SoA.5087 } }
				1 = { long_character_event = { id = SoA.5088 } }
				1 = { long_character_event = { id = SoA.5089 } }
			}
		}
		else_if = {
			limit = { has_character_flag = cr_hajj_dispatch_land }
			clr_character_flag = cr_hajj_dispatch_land
			random_list = {
				1 = { long_character_event = { id = SoA.5030 } }
				1 = { long_character_event = { id = SoA.5031 } }
				1 = { long_character_event = { id = SoA.5032 } }
				1 = { long_character_event = { id = SoA.5033 } }
				1 = { long_character_event = { id = SoA.5034 } }
				1 = { long_character_event = { id = SoA.5035 } }
				1 = { long_character_event = { id = SoA.5036 } }
				1 = { long_character_event = { id = SoA.5037 } }
				1 = { long_character_event = { id = SoA.5038 } }
				1 = { long_character_event = { id = SoA.5039 } }
				1 = { long_character_event = { id = SoA.5040 } }
				1 = { long_character_event = { id = SoA.5041 } }
				1 = { long_character_event = { id = SoA.5042 } }
				1 = { long_character_event = { id = SoA.5043 } }
				1 = { long_character_event = { id = SoA.5044 } }
				1 = { long_character_event = { id = SoA.5045 } }
				1 = { long_character_event = { id = SoA.5046 } }
				1 = { long_character_event = { id = SoA.5047 } }
				1 = { long_character_event = { id = SoA.5048 } }
				1 = { long_character_event = { id = SoA.5049 } }
				1 = { long_character_event = { id = SoA.5050 } }
				1 = { long_character_event = { id = SoA.5051 } }
				1 = { long_character_event = { id = SoA.5052 } }
				1 = { long_character_event = { id = SoA.5053 } }
				1 = { long_character_event = { id = SoA.5054 } }
				1 = { long_character_event = { id = SoA.5055 } }
				1 = { long_character_event = { id = SoA.5056 } }
				1 = { long_character_event = { id = SoA.5057 } }
				1 = { long_character_event = { id = SoA.5058 } }
				1 = { long_character_event = { id = SoA.5059 } }
			}
		}
	}
}

# Player neglect is based on real movement, not merely remaining in command.
character_event = {
	id = 86011
	hide_window = yes
	is_triggered_only = yes
	trigger = {
		ai = no
		has_character_flag = cr_hajj_active
	}

	immediate = {
		if = {
			limit = { has_character_flag = cr_hajj_moved_this_month }
			clr_character_flag = cr_hajj_moved_this_month
			cr_hajj_suspend_neglect_effect = yes
		}
		else_if = {
			limit = { NOT = { has_character_flag = cr_hajj_neglect_warning } }
			set_character_flag = cr_hajj_neglect_warning
			add_character_modifier = { name = cr_hajj_neglect_warning_modifier duration = -1 }
			long_character_event = { id = 86013 }
		}
		else_if = {
			limit = { NOT = { has_character_flag = cr_hajj_neglect_1 } }
			set_character_flag = cr_hajj_neglect_1
			cr_hajj_cost_05_effect = yes
			long_character_event = { id = 86014 }
		}
		else_if = {
			limit = { NOT = { has_character_flag = cr_hajj_neglect_2 } }
			set_character_flag = cr_hajj_neglect_2
			cr_hajj_cost_10_effect = yes
			long_character_event = { id = 86014 }
		}
		else_if = {
			limit = { NOT = { has_character_flag = cr_hajj_neglect_3 } }
			set_character_flag = cr_hajj_neglect_3
			cr_hajj_cost_20_effect = yes
			long_character_event = { id = 86014 }
		}
		else = {
			set_character_flag = cr_hajj_neglect_4
			remove_character_modifier = cr_hajj_neglect_warning_modifier
			add_character_modifier = { name = cr_hajj_neglect_severe_modifier duration = -1 }
			cr_hajj_cost_25_effect = yes
			long_character_event = { id = 86014 }
			cr_hajj_start_crisis_effect = yes
			long_character_event = { id = cr_hajj_punishment.20 }
		}
	}
}

long_character_event = {
	id = 86013
	title = CR_HAJJ_86013_TITLE
	desc = CR_HAJJ_86013_DESC
	picture = GFX_cr_evt_bad_news
	border = GFX_event_long_frame_religion
	is_triggered_only = yes
	option = { name = CR_HAJJ_86013_A }
}

long_character_event = {
	id = 86014
	title = CR_HAJJ_86014_TITLE
	desc = CR_HAJJ_86014_DESC
	picture = GFX_cr_evt_scandal
	border = GFX_event_long_frame_religion
	is_triggered_only = yes
	option = { name = CR_HAJJ_86014_A }
}

# AI travel remains simulated because CK2 exposes no reliable scripted army
# pathing objective. Traits and abilities determine delay and success weights.
character_event = {
	id = 86020
	hide_window = yes
	is_triggered_only = yes
	trigger = {
		ai = yes
		has_character_flag = cr_hajj_active
		has_character_flag = cr_hajj_ai_journey
	}

	immediate = {
		clr_character_flag = cr_hajj_ai_delay
		clr_character_flag = cr_hajj_ai_setback
		random_list = {
		75 = {
			modifier = { factor = 1.5 trait = diligent }
			modifier = { factor = 1.5 trait = organizer }
			modifier = { factor = 1.25 trait = patient }
			modifier = { factor = 1.25 martial = 14 }
			modifier = { factor = 0.6 trait = slothful }
			change_variable = { which = cr_hajj_ai_progress value = 1 }
		}
		20 = {
			modifier = { factor = 1.75 trait = slothful }
			modifier = { factor = 1.5 trait = craven }
			modifier = { factor = 0.6 trait = diligent }
			set_character_flag = cr_hajj_ai_delay
			decadence = 1
		}
		5 = {
			modifier = { factor = 2 trait = incapable }
			modifier = { factor = 1.5 trait = infirm }
			modifier = { factor = 1.5 trait = weak }
			modifier = { factor = 0.5 trait = brave }
			set_character_flag = cr_hajj_ai_setback
			piety = -25
			prestige = -15
			if = {
				limit = { has_character_flag = cr_hajj_ai_failure_1 }
				cr_hajj_start_crisis_effect = yes
				long_character_event = { id = cr_hajj_punishment.20 }
			}
			else = {
				set_character_flag = cr_hajj_ai_failure_1
			}
		}
		}
		if = {
			limit = { check_variable = { which = cr_hajj_ai_progress value >= 3 } }
			if = {
				limit = { has_character_flag = cr_hajj_outbound }
				long_character_event = { id = 86100 }
			}
			else_if = {
				limit = { has_character_flag = cr_hajj_returning }
				long_character_event = { id = 86110 }
			}
		}
		else = {
			if = {
				limit = { has_character_flag = cr_hajj_active }
				character_event = { id = 86020 days = 25 }
			}
		}
	}
}

long_character_event = {
	id = 86100
	title = CR_HAJJ_86100_TITLE
	desc = CR_HAJJ_86100_DESC
	picture = GFX_cr_evt_religious_exultation
	border = GFX_event_long_frame_religion
	is_triggered_only = yes

	option = {
		name = CR_HAJJ_86100_A
		piety = 40
		decadence = -2
		cr_queue_learning_good_ending_trait_effect = yes
		long_character_event = { id = 86101 }
		ai_chance = { factor = 40 modifier = { factor = 2 trait = zealous } modifier = { factor = 1.5 learning = 14 } }
	}
	option = {
		name = CR_HAJJ_86100_B
		scaled_wealth = -0.10
		piety = 30
		decadence = -4
		cr_queue_charitable_good_ending_trait_effect = yes
		long_character_event = { id = 86101 }
		ai_chance = { factor = 35 modifier = { factor = 2 trait = charitable } modifier = { factor = 0.5 trait = greedy } }
	}
	option = {
		name = CR_HAJJ_86100_C
		prestige = 25
		piety = 25
		decadence = -3
		cr_queue_social_good_ending_trait_effect = yes
		long_character_event = { id = 86101 }
		ai_chance = { factor = 25 modifier = { factor = 2 trait = gregarious } modifier = { factor = 1.5 trait = hedonist } }
	}
}

long_character_event = {
	id = 86101
	title = CR_HAJJ_86101_TITLE
	desc = CR_HAJJ_86101_DESC
	picture = GFX_cr_evt_market
	border = GFX_event_long_frame_religion
	is_triggered_only = yes

	option = {
		name = CR_HAJJ_86101_A
		scaled_wealth = -0.10
		decadence = -3
		piety = 20
		cr_queue_charitable_good_ending_trait_effect = yes
		long_character_event = { id = 86102 }
		ai_chance = { factor = 50 modifier = { factor = 2 trait = charitable } modifier = { factor = 0.5 trait = greedy } }
	}
	option = {
		name = CR_HAJJ_86101_B
		wealth = 25
		prestige = 20
		cr_queue_stewardship_good_ending_trait_effect = yes
		long_character_event = { id = 86102 }
		ai_chance = { factor = 35 modifier = { factor = 2 stewardship = 14 } modifier = { factor = 1.5 trait = greedy } }
	}
	option = {
		name = CR_HAJJ_86101_C
		decadence = 2
		piety = -10
		cr_queue_greedy_bad_ending_trait_effect = yes
		long_character_event = { id = 86102 }
		ai_chance = { factor = 15 modifier = { factor = 2 trait = greedy } modifier = { factor = 0.5 trait = charitable } }
	}
}

long_character_event = {
	id = 86102
	title = CR_HAJJ_86102_TITLE
	desc = CR_HAJJ_86102_DESC
	picture = GFX_cr_evt_feast
	border = GFX_event_long_frame_religion
	is_triggered_only = yes

	immediate = { cr_hajj_find_companion_effect = yes }
	portrait = event_target:cr_hajj_companion

	option = {
		name = CR_HAJJ_86102_A
		trigger = { event_target:cr_hajj_companion = { always = yes } }
		cr_hajj_resolve_sacred_intimacy_effect = yes
		long_character_event = { id = 86103 }
		ai_chance = {
			factor = 60
			modifier = { factor = 3 trait = lustful }
			modifier = { factor = 2 trait = hedonist }
			modifier = { factor = 0.2 trait = chaste }
		}
	}
	option = {
		name = CR_HAJJ_86102_B
		piety = 20
		prestige = 10
		cr_queue_social_good_ending_trait_effect = yes
		clear_event_target = cr_hajj_companion
		long_character_event = { id = 86103 }
		ai_chance = { factor = 30 modifier = { factor = 2 trait = gregarious } }
	}
	option = {
		name = CR_HAJJ_86102_C
		decadence = 3
		piety = -20
		cr_queue_chastity_bad_ending_trait_effect = yes
		clear_event_target = cr_hajj_companion
		long_character_event = { id = 86103 }
		ai_chance = { factor = 10 modifier = { factor = 3 trait = chaste } modifier = { factor = 3 trait = celibate } }
	}
}

long_character_event = {
	id = 86103
	title = CR_HAJJ_86103_TITLE
	desc = CR_HAJJ_86103_DESC
	picture = GFX_cr_evt_religious_exultation
	border = GFX_event_long_frame_religion
	is_triggered_only = yes

	immediate = { cr_hajj_find_companion_effect = yes }
	portrait = event_target:cr_hajj_companion

	option = {
		name = CR_HAJJ_86103_A
		piety = 50
		decadence = -3
		cr_queue_learning_good_ending_trait_effect = yes
		clear_event_target = cr_hajj_companion
		character_event = { id = cr_muslim_story.1 }
		ai_chance = { factor = 35 modifier = { factor = 2 trait = zealous } }
	}
	option = {
		name = CR_HAJJ_86103_B
		trigger = { event_target:cr_hajj_companion = { always = yes } }
		cr_hajj_resolve_sacred_intimacy_effect = yes
		decadence = -3
		prestige = 30
		character_event = { id = cr_muslim_story.1 }
		ai_chance = { factor = 55 modifier = { factor = 2 trait = exhibitionist } modifier = { factor = 2 trait = lustful } }
	}
	option = {
		name = CR_HAJJ_86103_C
		decadence = 5
		piety = -40
		cr_queue_chastity_bad_ending_trait_effect = yes
		clear_event_target = cr_hajj_companion
		character_event = { id = cr_muslim_story.1 }
		ai_chance = { factor = 10 modifier = { factor = 3 trait = chaste } modifier = { factor = 3 trait = celibate } }
	}
}

long_character_event = {
	id = 86104
	title = CR_HAJJ_86104_TITLE
	desc = CR_HAJJ_86104_DESC
	picture = GFX_cr_evt_pilgrimage_idle
	border = GFX_event_long_frame_religion
	is_triggered_only = yes

	option = {
		name = CR_HAJJ_86104_A
		piety = 25
		prestige = 20
		cr_hajj_begin_return_effect = yes
	}
}

long_character_event = {
	id = 86110
	title = CR_HAJJ_86110_TITLE
	desc = CR_HAJJ_86110_DESC
	picture = GFX_cr_evt_noble_in_castle
	border = GFX_event_long_frame_religion
	is_triggered_only = yes

	option = {
		name = CR_HAJJ_86110_A
		if = { limit = { NOT = { trait = hajjaj } } add_trait = hajjaj }
		piety = 100
		prestige = 50
		decadence = -5
		cr_resolve_pending_ending_trait_effect = yes
		cr_hajj_clear_journey_effect = yes
	}
}

long_character_event = {
	id = 86111
	title = CR_HAJJ_86111_TITLE
	desc = CR_HAJJ_86111_DESC
	picture = GFX_cr_evt_scandal
	border = GFX_event_long_frame_religion
	is_triggered_only = yes

	option = {
		name = CR_HAJJ_86111_A
		piety = -500
		prestige = -250
		decadence = 15
		add_character_modifier = { name = cr_abandoned_hajj duration = 1825 }
		cr_queue_slothful_bad_ending_trait_effect = yes
		cr_resolve_pending_ending_trait_effect = yes
		cr_hajj_clear_journey_effect = yes
	}
	option = {
		name = CR_HAJJ_86111_B
		ai_chance = { factor = 0 }
	}
}

# A promised Hajj keeps returning to the ruler until the escort actually departs.
long_character_event = {
	id = 86901
	title = CR_HAJJ_86901_TITLE
	desc = CR_HAJJ_86901_DESC
	picture = GFX_cr_evt_bad_news
	border = GFX_event_long_frame_religion

	only_playable = yes
	only_capable = yes
	prisoner = no
	religion_group = muslim

	trigger = {
		is_adult = yes
		is_landed = yes
		has_character_flag = promise_hajj
		war = no
		in_command = no
		NOT = { is_inaccessible_trigger = yes }
		NOR = {
			has_character_flag = activated_hajj
			has_character_flag = preparing_hajj
			has_character_flag = cr_hajj_active
		}
	}

	mean_time_to_happen = {
		months = 12
		modifier = { factor = 0.5 trait = zealous }
		modifier = { factor = 0.5 trait = diligent }
		modifier = { factor = 1.5 trait = slothful }
	}

	option = {
		name = CR_HAJJ_86901_A
		set_character_flag = activated_hajj
		long_character_event = { id = 86000 }
		ai_chance = {
			factor = 85
			modifier = { factor = 2 trait = zealous }
			modifier = { factor = 2 trait = diligent }
			modifier = { factor = 0.5 trait = slothful }
		}
	}

	option = {
		name = CR_HAJJ_86901_B
		piety = -100
		prestige = -50
		decadence = 5
		ai_chance = {
			factor = 15
			modifier = { factor = 3 trait = slothful }
			modifier = { factor = 2 trait = cynical }
			modifier = { factor = 0.5 trait = zealous }
		}
	}
}

character_event = {
	id = 86999
	hide_window = yes
	is_triggered_only = yes
	trigger = { has_character_flag = cr_hajj_active }
	immediate = { cr_hajj_clear_journey_effect = yes }
}
